// ALVIRDoc.cpp : implementation file
//

#include "stdafx.h"
#include "alvir.h"
#include "EquipoProfesor.h"
//#include "..\Comun\UserInfo.h"
//#include "..\Comun\Ini.h"
#include "ALVIRDoc.h"
#include "MainFrm.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CALVIRDoc

IMPLEMENT_DYNCREATE(CALVIRDoc, CPizarraDoc)

CALVIRDoc::CALVIRDoc()
{
//	m_pEquipo = NULL;
}

BOOL CALVIRDoc::OnNewDocument()
{
	if (!CPizarraDoc::OnNewDocument())
		return FALSE;
	// obtiene el fichero de clase por defecto
///	m_pEquipo = new CEquipoProfesor;
	return TRUE;
}

CALVIRDoc::~CALVIRDoc()
{
/*	if (m_pEquipo != NULL)
		Desconecta();*/
}


BEGIN_MESSAGE_MAP(CALVIRDoc, CPizarraDoc)
	//{{AFX_MSG_MAP(CALVIRDoc)
		// NOTE - the ClassWizard will add and remove mapping macros here.
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CALVIRDoc diagnostics

#ifdef _DEBUG
void CALVIRDoc::AssertValid() const
{
	CPizarraDoc::AssertValid();
}

void CALVIRDoc::Dump(CDumpContext& dc) const
{
	CPizarraDoc::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CALVIRDoc serialization

void CALVIRDoc::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		// TODO: add storing code here
	}
	else
	{
		// TODO: add loading code here
	}
}

/////////////////////////////////////////////////////////////////////////////
// CALVIRDoc commands

void CALVIRDoc::Punto(DWORD dwX, DWORD dwY, UINT nPress, UINT nCursor)
{
	CMainFrame *pFrame = (CMainFrame *) AfxGetMainWnd();
	ASSERT_KINDOF(CMainFrame, pFrame);

	CEquipo *pEquipo= pFrame->GetEquipo();

	if(pEquipo != NULL)
	{
		// envia el datos
		PVMSG_DATA_PIZARRA msg;
		msg.wComando = PVMSG_COM_DATA_PIZARRA;
		msg.wTam = sizeof(PVMSG_DATA_PIZARRA) - sizeof(PVMSG) + 1;
		msg.dwX = dwX;
		msg.dwY = dwY;
		msg.nPress = nPress;
		msg.nCursor = nCursor;
		pEquipo->Envia((PVMSG *)&msg);
	}
}
// borra la pizarra
void CALVIRDoc::OnPizarraNueva() 
{
	// borra la pizarra local
	POSITION pos = GetFirstViewPosition();
	while (pos != NULL)
	{
		CView* pView = GetNextView(pos);
		if (pView->IsKindOf(RUNTIME_CLASS(CPizarraView)))
			((CPizarraView *) pView)->Nueva();
	}   
}
